tools/xenstore: add migration stream extensions for new features
authorJuergen Gross <jgross@suse.com>
Thu, 8 Sep 2022 08:15:52 +0000 (10:15 +0200)
committerJulien Grall <jgrall@amazon.com>
Thu, 8 Sep 2022 11:28:54 +0000 (12:28 +0100)
commit6bc1c1aba01f663687d7d2b48ccdf8d9432d92cc
tree5a364fd3dde5d00010e5f60a9106de53e620a688
parentf541464af3799c91534c48c2df55708662b78b88
tools/xenstore: add migration stream extensions for new features

Extend the definition of the Xenstore migration stream to cover new
features:

- per domain features
- extended watches (watch depth)
- per domain quota

Some of those additions (per domain features and extended watches)
require bumping the migration stream version to "2", as usage of those
features will require to transport mandatory new information in the
migration stream.

One note regarding the GLOBAL_QUOTA_DATA record: the split of quota
between global and per-domain ones is meant to support the possibility
to pass on unknown quota settings for newly created domains to other
Xenstore instances:

Imagine Xenstore A knows about global quota g and domain quota d, while
Xenstore B doesn't know both. Initially I'm running Xenstore A on a
host, then I'm live-updating to B.

B gets the information that g is global, and d is per-domain, but has
no other idea what to do with the values of g and d. OTOH it knows that
each new domain should get d with the related value, so it can set d
for each newly created domain.

When B is either downgraded to A again, or a domain is migrated to
another host running A, B can add the quota information of d for all
domains.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
docs/designs/xenstore-migration.md